﻿using System.Collections.Generic;
using Giant.Core.Domain.Users;
using Giant.Core.Domain.Messages;
using Giant.Core.Domain.News;
using Giant.Core.Domain.Sites;
using Giant.Core.Domain.Blogs;

namespace Giant.Services.Messages
{
    public partial interface IMessageTokenProvider
    {
        void AddSiteTokens(IList<Token> tokens, Site site, EmailAccount emailAccount);

        void AddUserTokens(IList<Token> tokens, User user);

        void AddNewsLetterSubscriptionTokens(IList<Token> tokens, NewsLetterSubscription subscription);

        void AddBlogCommentTokens(IList<Token> tokens, BlogComment blogComment);
        void AddNewsCommentTokens(IList<Token> tokens, NewsComment newsComment);

        string[] GetListOfAllowedTokens();
    }
}
